package com.bw.http.http.okhttp

import javax.inject.Qualifier

/**
 * 注解相关知识：
 * 1.什么是元注解？注解其他自定义注解的注解(注解的太爷爷)
 *
 *   java中的5个元注解
 *   @Retention   声明注解的生命周期(Source ,Class,Runtime)
 *   @Target      声明注解的应用目标（类名、方法名，参数）
 *   @Documented  声明帮助文档
 *   @Inherited   是否让其他注解继承
 *   @Replaceable 生命可以重复注解
 *
 *   定义方式： @interface
 *
 *   Kotlin
 *   @Target      声明注解的应用目标（类名、方法名，参数）
 *   @Retention   声明注解的生命周期(Source ,Class,Runtime)
 *   @Replaceable 生命可以重复注解
 *   @MusBeDocumented
 *   @JvmStatic     静态
 *   @JvmOverloads  重载
 *   @JvmName       名称
 *   @JvmField      属性
 *
 *   定义方式： annotation class
 */
@Qualifier//声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpClientAnnotation {}

@Qualifier//声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpsClientAnnotation{}

@Qualifier//声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpRetrofitAnnotation{}

@Qualifier//声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpsRetrofitAnnotation{}
